.first-page {
  background-size: cover !important;
  font-family: dana;
  height: 100vh !important;
  background-clip: content-box !important;
  color: #323232;
}
.ivaan-first-page-v4 {
  color: #024442 !important;
}
/* - - - - - - - - - - - - - - - - - -  */
#restaurant_title {
  text-align: center;
}

.first-page__information {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

.first-page__information_social-media {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 10px;
  position: absolute;
  bottom: 15vh;
}
.first-page__information_social-media a {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-box-shadow: 0px 0px 16px -4px rgba(0, 0, 0, 0.43);
  -moz-box-shadow: 0px 0px 16px -4px rgba(0, 0, 0, 0.43);
  box-shadow: 0px 0px 16px -4px rgba(0, 0, 0, 0.43);
  background-color: #fff;
  border-radius: 16px;
  padding: 8px;
}
.first-page__information_social-media a img {
  width: 32px;
  height: 32px;
}
.ivaan-first-page-v4 .first-page__information_social-media a{
  background-color: #efecdd !important;
}

/* - - - - - - - - - - - - - - - - - -  */

.first-page__main-image {
  width: 150px;
  height: 209px;
  overflow: hidden;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 40px;
  gap: 16px;
  background-color: #fff;

  margin-top: 10vh;
}
.first-page__main-image img {
  width: 92px;
  height: 122px;
  -o-object-fit: contain;
  object-fit: contain;
}
.ivaan-first-page-v4 .first-page__main-image{
  background-color: inherit !important;
  height: unset !important;
}
/* - - - - - - - - - - - - - - - - - -  */

.first-page__next {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  
  font-size: 16px;
  font-weight: 400;
  background-color: #ffffff;
  border-radius: 12px;
  padding: 8px 16px;
  cursor: pointer;
  width: 145px;
  -webkit-box-shadow: 0px 0px 16px -4px rgba(0, 0, 0, 0.43);
  -moz-box-shadow: 0px 0px 16px -4px rgba(0, 0, 0, 0.43);
  box-shadow: 0px 0px 16px -4px rgba(0, 0, 0, 0.43);
  margin-top: 10vh;
}
.ivaan-first-page-v4 .first-page__next{
  background-color: #efecdd !important;
}

div#address, div#club, div#instagram{
  gap: 0px;
}
a#earth img , div#club img, div#website img  , div#address img  {
  width: 32px;
}
a#earth img {
  cursor: pointer;
  filter: invert(0.2);
}
#overlay{
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(8px);
}
#overlay.earth div.modal-content{
  width: 350px;
  position: unset;
  top: unset;
  right: unset;
  background: rgba(255, 255, 255, 0.1); 
  z-index: 1;  
}
#overlay.earth div.modal-content div{
  min-height: fit-content !important;
}
#overlay.earth div.modal-content #close{
  align-items: baseline;
  padding-right: 7px;
}
#overlay.earth div.modal-content #close span{
  cursor: pointer;
}
#overlay.earth div.modal-content div.details{
  gap: 27px;
}
#overlay.earth .social-media{
  flex-direction: row;
  gap: 30px;
}
#overlay.earth .social-media a{
  cursor: pointer;
}
#overlay.earth #address{
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  column-gap: 18px;
  font-size: 15px;
}
.modal-content,
#overlay.earth .social-media {
  overflow: visible;
}

/* base circle button */
#overlay.earth .social-media a{
  position: relative;            /* for pseudo-elements */
  width: 46px;                   /* outer diameter of the button */
  height: 46px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;                    /* above pseudo-elements */
  text-decoration: none;
  overflow: visible;             /* allow rings outside bounds */
  -webkit-backdrop-filter: none; /* avoid double blur issues */
}

/* white outer ring */
#overlay.earth .social-media a::before{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -38%);
  width: calc(43% + 12px);   /* slightly bigger than button */
  height: calc(43% + 12px);
  border-radius: 50%;
  background: transparent;
  border: 3px solid rgb(56 47 47 / 18%); /* bright thin ring */
  z-index: 0;
  pointer-events: none;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,0.25)); /* extra pop */
}

/* inner dark ring (between outer ring and icon) */
#overlay.earth .social-media a::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 69%;                 /* smaller ring inside */
  height: 69%;
  border-radius: 50%;
  background: transparent;
  border: 2px solid #fff;  /* dark inner ring */
  z-index: 1;
  pointer-events: none;
}

/* make sure the icon image stays on top and sized */
#overlay.earth .social-media a img{
  position: relative;
  z-index: 3;
  width: 25px !important;
  /* height: 25px !important; */
  display: block;
  object-fit: contain;
}
div#address div img{
  width: 25px !important;
}
#club img{
  margin-bottom: -1px;
}
#website img{
  margin-bottom: -3px;
}

@media screen and (min-width:365px) {
  #overlay.earth div.modal-content{
    width: 350px;
  }
}
@media screen and (max-width:367px) {
  #overlay.earth div.modal-content{
    width: 290px;
  }
}